package com.zed.api.domain.currentuser;

import com.zed.api.common.adpt.Adaptable;
import com.zed.api.domain.Activable;

import java.time.LocalDateTime;

/**
 * 账号
 *
 * @author Zed
 */
public interface Account extends Adaptable, Activable {

    /**
     * 用户Id
     *
     * @return {@link String}
     */
    String getId();

    /**
     * 获取显示名称
     *
     * @return {@link String}
     */
    String getDisplayName();

    /**
     * 获取创建日期
     *
     * @return {@link LocalDateTime}
     */
    LocalDateTime getCreateDate();

    /**
     * 是否匿名账号
     *
     * @return {@link boolean},如果true则代表则匿名用户
     */
    default boolean isAnonymous() {
        return false;
    }

}
